GPS satellites broadcast navigation data which are modulated on the L1 and L2 carrier frequencies. The data contains coarse ephemeris data (referred to as almanac data) for all satellites in the constellation, precise ephemeris data for this particular satellite, and timing data and model correction parameters needed by a GPS receiver to make a correct ranging measurement. The satellites also broadcast these two forms of ranging codes: the Coarse/Acquisition code (C/A), which is freely available to the public, and the restricted Precise code (P-code), which is usually reserved for military applications.
GPS receivers receive the ephemeris data to know the precise time. Using that time, they calculate position, velocity, and time solutions (PVT) correctly. For this reason, the satellites are equipped with extremely accurate atomic clocks. Most receivers use an internal crystal oscillator-based clock that is continually updated using the signals from the satellites.
The receiver identifies each satellite's signal by its distinct C/A code pattern and then measures the time delay in generating that C/A code pattern for each satellite. To do this, the receiver produces an identical C/A sequence using the same seed number as the satellite. By lining up the two sequences, the receiver can determine a pseudorange, the measurement of delay and calculation of the distance to the satellite.
Calculating a position with the P(Y) signal is conceptually similar in that a receiver must first decrypt the signal, then use information in the navigation data to know where in the week-long pseudorandom noise (PRN) sequence the satellite is currently broadcasting. Once this is known, tracking and measurement are the same. The encryption of P code into Y code is essentially a security mechanism; it is reasonable to assume that if a signal can be successfully decrypted, it is a real signal being sent by a GPS satellite and not a “spoofed” signal. In contrast, civil receivers are highly vulnerable to spoofing, since correctly formatted C/A signals can be generated using readily available signal generators.
A GPS receiver, however, can never measure exact range to each satellite. The measurement process is corrupted by noise which introduces errors into the calculation. This noise includes errors in the ionospheric corrections and system dynamics not considered during the measurement process (e.g., user clock drift). A Kalman filter characterizes the noise sources in order to minimize their effect on the desired receiver outputs.
When the GPS receiver is aided or integrated with other navigation sensors (e.g., inertial navigation sensors (“INS”), clock, or altimeter), then the Kalman filter can be extended to include the measurements added by these sensors. For more accurate position measurements, a user receiver receives deviation information from a reference receiver and thereby to provide differential correction to the user receiver. A system using a user receiver with one or more reference receivers is referred to as Differential GPS (DGPS). Examples of differential reference systems are RTCM, StarFire, WAAS, LAAS, EGNOS, and MSAT.
The idea of differential positioning is to correct range bias errors at the mobile receiver location with the observed range bias errors at a known position. The reference station computes corrections for each satellite signal. DGPS implementations require software in the reference receiver that can track all “visible” satellites and form pseudo-range corrections. These corrections are transmitted to the user receiver that has to apply these corrections to the pseudorange measurement for each satellite used in the navigation solution. In this case, the reference receiver has limited effect at useful ranges because both receivers would have to be using the same set of satellites to resolve their navigation solutions.
Current DGPS systems may be “spoofed” with erroneous data from the reference receiver that will confuse the DGPS receiver. When the DGPS receiver receives erroneous data, that data can cause the DGPS receiver to report position or velocity vectors that contain hazardously misleading errors with respect to the true values of the vectors. In short, the DGPS may produce a value for either or both vectors that is less accurate than those reported by the non-differential GPS.
There is a need for a DGPS system that suitably sorts the received reference signals to derive a best available GPS solution.